package com.agileboot.domain.system.tag.model;

import cn.hutool.core.bean.BeanUtil;
import com.agileboot.domain.system.tag.command.TagAddCommand;
import com.agileboot.domain.system.tag.command.TagUpdateCommand;
import com.agileboot.common.enums.common.StatusEnum;
import com.agileboot.common.enums.BasicEnumUtil;
import com.agileboot.domain.system.tag.db.SysTagEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

/**
 * 标签领域模型
 * 仿照 NoticeModel
 */
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
public class TagModel extends SysTagEntity {

    public TagModel(SysTagEntity entity) {
        if (entity != null) {
            BeanUtil.copyProperties(entity, this);
        }
    }

    public void loadAddCommand(TagAddCommand command) {
        if (command != null) {
            BeanUtil.copyProperties(command, this, "tagId");
        }
    }

    public void loadUpdateCommand(TagUpdateCommand command) {
        if (command != null) {
            loadAddCommand(command);
        }
    }


}
